﻿<?xml version="1.0" encoding="utf-8" ?>
<Recipe Name="CreateSTSADMExtensionsRecipe" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.microsoft.com/pag/gax-core"
    Bound="false">
  <Caption>Add STSADM Extensions Project</Caption>
  <HostData>
    <Icon File="spalm.ico" />
    <CommandBar Name="Solution" />
    <CommandBar Name="Solution Add" />
    <CommandBar Name="Solution Folder" />
    <CommandBar Name="Solution Folder Add" />
  </HostData>
  <Arguments>
    <Argument Name="Root" Type="EnvDTE.Solution, EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
      <ValueProvider Type="SteriaMummert.SharePoint.SoftwareFactoryLite.ValueProviders.CurrentSolutionProvider, SteriaMummert.SharePoint.SoftwareFactoryLite" />
    </Argument>
    <Argument Name="SolutionFolderName" Type="System.String">
      <ValueProvider Type="Microsoft.Practices.RecipeFramework.Extensions.ValueProviders.VisualStudio.SolutionPathProvider, Microsoft.Practices.RecipeFramework.Extensions" />
    </Argument>
    <Argument Name="ProjectName" Type="System.String">
      <ValueProvider Stage="OnBeforeActions" Type="Microsoft.Practices.RecipeFramework.Library.ValueProviders.ExpressionEvaluatorValueProvider,Microsoft.Practices.RecipeFramework.Library" Expression="$(ApplicationNamespace).$(ApplicationName).STSADMExtension.$(WSPSolutionName)" />
    </Argument>
    <Argument Name="ProjectPath" Type="System.String">
      <ValueProvider Stage="OnBeforeActions" Type="Microsoft.Practices.RecipeFramework.Library.ValueProviders.ExpressionEvaluatorValueProvider,Microsoft.Practices.RecipeFramework.Library" Expression="$(SolutionFolderName)\$(ApplicationNamespace).$(ApplicationName).STSADMExtension.$(WSPSolutionName)" />
    </Argument>    
    
    
    <Argument Name="ApplicationName" Required="true">
      <ValueProvider Type="SteriaMummert.SharePoint.SoftwareFactoryLite.ValueProviders.ApplicationConfigValueProvider, SteriaMummert.SharePoint.SoftwareFactoryLite" ConfigValue="ApplicationName" />
    </Argument>
    <Argument Name="ApplicationNamespace" Required="true">
      <ValueProvider Type="SteriaMummert.SharePoint.SoftwareFactoryLite.ValueProviders.ApplicationConfigValueProvider, SteriaMummert.SharePoint.SoftwareFactoryLite" ConfigValue="ApplicationNamespace" />
    </Argument>
    <Argument Name="WSPSolutionSignAssembly" Required="true">
      <ValueProvider Type="SteriaMummert.SharePoint.SoftwareFactoryLite.ValueProviders.ApplicationConfigValueProvider, SteriaMummert.SharePoint.SoftwareFactoryLite" ConfigValue="WSPSolutionSignAssembly" />
    </Argument>
    <Argument Name="WSPSolutionKeyFileName" Required="true">
      <ValueProvider Type="SteriaMummert.SharePoint.SoftwareFactoryLite.ValueProviders.ApplicationConfigValueProvider, SteriaMummert.SharePoint.SoftwareFactoryLite" ConfigValue="WSPSolutionKeyFileName" />
    </Argument>
    
    <Argument Name="WSPSolutionName" Required="true">
      <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.NamespaceStringConverter, Microsoft.Practices.RecipeFramework.Library" />
      <ValueProvider Type="Microsoft.Practices.RecipeFramework.Library.ValueProviders.ExpressionEvaluatorValueProvider,Microsoft.Practices.RecipeFramework.Library" Expression="STSADMExtensions" />
    </Argument>
    <Argument Name="WSPSolutionID" Required="true">
      <ValueProvider Type="SteriaMummert.SharePoint.SoftwareFactoryLite.ValueProviders.GuidValueProvider, SteriaMummert.SharePoint.SoftwareFactoryLite" />
    </Argument>
    <Argument Name="WSPDeploymentServerType" Required="true">
      <Converter Type="SteriaMummert.SharePoint.SoftwareFactoryLite.Converters.SolutionDeploymentServerTypeConverter, SteriaMummert.SharePoint.SoftwareFactoryLite" />
      <ValueProvider Type="Microsoft.Practices.RecipeFramework.Library.ValueProviders.ExpressionEvaluatorValueProvider,Microsoft.Practices.RecipeFramework.Library" Expression="ApplicationServer" />
    </Argument>
    <Argument Name="WSPDeploymentTarget" Required="true">
      <Converter Type="SteriaMummert.SharePoint.SoftwareFactoryLite.Converters.SolutionDeploymentTargetConverter, SteriaMummert.SharePoint.SoftwareFactoryLite" />
      <ValueProvider Type="Microsoft.Practices.RecipeFramework.Library.ValueProviders.ExpressionEvaluatorValueProvider,Microsoft.Practices.RecipeFramework.Library" Expression="GAC" />
    </Argument>
    <Argument Name="WSPResetServer" Type="System.Boolean" Required="true">
    </Argument>
    
  </Arguments>
  <GatheringServiceData>
    <Wizard xmlns="http://schemas.microsoft.com/pag/gax-wizards" SchemaVersion="1.0">
      <Pages>
        <Page>
          <Title>SharePoint STSADM Information</Title>
          <LinkTitle>WSP Solution</LinkTitle>
          <Help>
            Enter the WSP Solution Name.
          </Help>
          <Fields>
            <Field ValueName="WSPSolutionName" Label="Extensions Name" InvalidValueMessage="Must be a valid .NET namespace identifier (e.g. it shouldn't contain spaces or special characters)." />
            <Field ValueName="WSPResetServer" Label="Reset Webserver" InvalidValueMessage="Must be a valid .NET namespace identifier (e.g. it shouldn't contain spaces or special characters)." />
          </Fields>
        </Page>
      </Pages>
    </Wizard>
  </GatheringServiceData>
    <Actions>
      <Action Name="UnfoldDataLayerProjectTemplate" Type="SteriaMummert.SharePoint.SoftwareFactoryLite.Actions.ExtendedUnfoldTemplateAction, SteriaMummert.SharePoint.SoftwareFactoryLite"
          Template="Projects\STSADMExtensions\MyTemplate.vstemplate">
        <Input Name="Root" RecipeArgument="Root" />
        <Input Name="DestinationFolder" RecipeArgument="ProjectPath" />
        <Input Name="ItemName" RecipeArgument="ProjectName" />
        <Output Name="NewItem" />
      </Action>
      
  </Actions>
</Recipe>